/*
 * @Author: lirl
 * @Date: 2022-07-18 10:15:52
 * @Description: pc端路由跳转方法
 */
import { window } from 'globalthis/implementation';
import router from '@/router/index';

export default {
  /**
   * 根据传进来的path/参数进行页面跳转
   * @param pathUrl 需要跳转的路径
   * @param name 跳转的页面的名称，和 index.js 中的 name 相同
   */
  routerJumpByParams(pathUrl, pageName) {
    router.push({ // 核心语句
      name: pageName,
      path: pathUrl // 跳转的路径
    });
  },

  /**
   * 打开新窗口
   * @param {String} path 要跳转到的地址
   * @param {Object} params 通过query方式要传递的参数
   */
  jumpToNewWindow(path, params) {
    const routeData = router.resolve({
      path,
      query: params
    });
    // 根据懒加载的路由打开新窗口
    window.open(routeData.href, '_blank');
  },
  /**
   * 打开待办表单
   */
  openTaskForm(row) {
    const routeData = router.resolve({
      path: '/process-form',
      query: {
        taskId: row.taskId ?? row.tiid,
        processDefinitionKey: row.processDefinitionKey ?? row.templateId ?? row.definitionId,
        piid: row.processInstanceId ?? row.piid ?? row.instanceId
      }
    });
    // 根据懒加载的路由打开新窗口
    window.open(routeData.href, '_blank');
  },
};
